iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
1

今天來說圖片,可以嵌入圖片,Logo 之類的。
程式碼

from reportlab.platypus import SimpleDocTemplate, Image
image = Image("logo.jpeg", width=200, height=200)
fileName = "example.pdf"
pdfTemplate = SimpleDocTemplate(fileName)
story = []
story.append(image)
pdfTemplate.build(story)

*圖片來源 Google

結果圖

或是要一些特別的圖表,或是更美觀一點的,可以用 matplotlib 這個套件畫出來,儲存成圖片,再嵌入圖片。
安裝 matplotlib

$ pip3 install matplotlib

隨便找一個範例畫一個圖,這裡選 盒鬚圖(Box plot)

完整程式碼

from reportlab.platypus import SimpleDocTemplate, Image

import matplotlib.pyplot as plt
from io import BytesIO

dataList = [
    60, 70, 80, 90, 100, 200, 200, 230,
    50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
    40, 30, 20, 10, 0, -100, -200,
]
plt.boxplot(dataList)

imgdata = BytesIO()
plt.savefig(imgdata, format='png', bbox_inches='tight')
imgdata.seek(0)

image = Image(imgdata, width=200, height=200)
fileName = "example.pdf"
pdfTemplate = SimpleDocTemplate(fileName)
story = []
story.append(image)
pdfTemplate.build(story)

結果圖


參考資料:

如果有任何寫得不好的地方,請跟我說,謝謝。


上一篇
[Day 08] 圓餅圖(Pie Charts)
下一篇
[Day 10] 其他功能
系列文
用 Python 玩 PDF,結合Django 變成一個網頁系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言